/*
 * Projekt: GMU 2013 - Canny hranovy detektor OpenCL/CUDA
 * Autori: Pavel Nevrala - xnevra00 (xnevra00@stud.fit.vutbr.cz)
 *         Martin Jurak - xjurak02 (xjurak02@stud.fit.vutbr.cz)
 */
#pragma once

#include <CL/opencl.h>
#include <iostream>

#define DEBUG_

using namespace std;

/*
 * class Errors
 * Trida starajici o kontrolu a vypis chybovych hlaseni v OpenCL
 */
class Errors
{
public:
	Errors(void);
	~Errors(void);

	////////////////////////////
	// Prevzato ze cviceni GMU
	////////////////////////////
	/*
	 * Kontrola chybovych hlaseni v OpenCL
	 * @ciErr - error code OpenCL
	 * @msg - zprava
	 */
	void CheckOpenCLError(cl_int ciErr, const char *msg);

private:
	////////////////////////////
	// Prevzato ze cviceni GMU
	////////////////////////////
	/*
	 * Vrati retezec pro jednotlivou chybu
	 * @ciErr - error code OpenCL	
	 */
	const char *CLErrorString(cl_int _err);
};

